Skip to content

build(env): raise the shared baseline to PyMC 6.2 - #79

Merged
frankbuckley merged 1 commit into
mainfrom
claude/baseline-packages-pymc-update-dad1bc
Jul 31, 2026
Merged

build(env): raise the shared baseline to PyMC 6.2#79
frankbuckley merged 1 commit into
mainfrom
claude/baseline-packages-pymc-update-dad1bc

Conversation

@frankbuckley

Copy link
Copy Markdown
Member

Note

Drafted by a LLM-based AI tool (Claude Code/Opus 5).

Raises the canonical conda-forge core to current releases, moves the PyMC floor to 6.2, and cuts dse-research-utils v0.9.0.

PyMC 6.2

pymc 6.2.0 requires pytensor>=3.2.2,<3.3 (from the 6.2.0 sdist metadata), so the floor moves 6.1.06.2.0 and the comment now records the real constraint rather than a paraphrase.

The three documented caps all still hold

Each was re-verified against live conda-forge metadata rather than carried forward on trust:

Cap Still needed? Evidence
numba<=0.65.1 Yes pytensor-base 3.2.3 still declares numba >=0.58,<=0.65.1, even though numba 0.66.0 is out
numpy<2.5 Yes numba pins it — and numba 0.66.0 pins numpy >=1.22.3,<2.5 too, so lifting the numba cap alone would not unlock numpy 2.5
pyarrow>=24.0.0 Yes libarrow 25.0.0 needs libabseil >=20260526; every jaxlib 0.10.2 build still pins libabseil >=20260107.1,<20260108

The numpy comment previously implied the cap would move with the numba cap. It won't, so the comment now says so explicitly.

Floors moved to current releases

Core: pandas 3.0.5, matplotlib 3.11.1, preliz 0.27.1, h5py 3.16.0, h5netcdf 1.8.1, python-graphviz 0.21. Add-ons: lightgbm 4.7.0, polars 1.43.1, duckdb 1.5.5, xarray 2026.7.0. Pip tail: ruff 0.16.1, setuptools 83.0.0, hatchling 1.31.0, jupytext 1.19.5, pyyaml 6.0.3.

Unchanged because they are already at the current release: python 3.14.6, scipy 1.18.0, scikit-learn 1.9.0, statsmodels 0.14.6, nutpie 0.16.11, numpyro 0.21.0, jax 0.10.2, arviz* 1.2.0, graphviz 14.1.2, xgboost 3.3.0, shap 0.52.0, pyreadstat 1.3.5, pytest 9.1.1.

Verification

  • conda create --dry-run on both linux-64 and osx-arm64: solves to pymc 6.2.0 / pytensor 3.2.3 / numba 0.65.1 / numpy 2.4.6 / pyarrow 24.0.0 / libabseil 20260107.1.
  • dse-check-env environment.yml — no drift.
  • pytest — 276 passed.
  • npm run spellcheck and npm run format:check — clean.

Follow-up

Tag v0.9.0 after merge. The three downstream repos have companion PRs that pip-install dse-research-utils from that tag, so they stay red until the tag exists.

Move the canonical conda-forge core to current conda-forge releases and cut
v0.9.0. PyMC 6.2.0 requires pytensor >=3.2.2,<3.3 (verified against the 6.2.0
sdist metadata), so the floor moves from 6.1.0 to 6.2.0.

The three documented caps all still hold and are re-verified here:

- numba stays <=0.65.1 because pytensor-base 3.2.3 still declares
  `numba >=0.58,<=0.65.1`, even though numba 0.66.0 is released.
- numpy stays <2.5 because numba pins it there — and note numba 0.66.0 does
  too, so lifting the numba cap alone would not unlock numpy 2.5.
- pyarrow stays >=24.0.0 because libarrow 25.x needs libabseil >=20260526
  while every jaxlib 0.10.2 build still pins libabseil <20260108.

Remaining floors track current releases: pandas 3.0.5, matplotlib 3.11.1,
preliz 0.27.1, h5py 3.16.0, h5netcdf 1.8.1, python-graphviz 0.21, plus the
research add-ons (lightgbm 4.7.0, polars 1.43.1, duckdb 1.5.5, xarray 2026.7.0)
and the pip tail (ruff 0.16.1, setuptools 83.0.0, hatchling 1.31.0,
jupytext 1.19.5).

Verified with `conda create --dry-run` on both linux-64 and osx-arm64: the
environment solves to pymc 6.2.0 / pytensor 3.2.3 / numba 0.65.1 /
numpy 2.4.6 / pyarrow 24.0.0. `dse-check-env` reports no drift and the 276
tests pass.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant